layui.use(['form', 'jquery', 'xmSelect','iconPicker'],function (){
    var form = layui.form;
    let $ = layui.jquery;
    var util = layui.util;
    let iconPicker = layui.iconPicker;

    iconSelect();
    createClassTree();
    submit();
    onFn();

    function iconSelect(){
        // 图标选择器
        iconPicker.render({
            elem: '#icon_picker',
            url: '/pear/component/layui/font/iconfont.svg',
            type: 'fontClass'
        });
    }

    function createClassTree() {
        $.ajax({
            url: '/system/menu/tree/',
            type: 'post',
            success: function (result) {
                renderTree(result);
            }
        });

        function renderTree(data){
            var $parentId = $('input[name="parentId"]');

            xmSelect.render({
                el: '#classTree',
                radio: true,
                height: 'auto',
                initValue: [$parentId.val()], // 初始化选中值
                prop: {
                    name: 'name',
                    value: 'id'
                },
                data: data,
                tree: {
                    // 是否显示树状结构
                    show: true,
                    // 是否严格遵守父子模式
                    strict: false,
                    // 是否开启极简模式
                    simple: false
                },
                model: {
                    label: {
                        block: {
                            showIcon: false // 隐藏删除按钮
                        }
                    }
                },
                // 选中事件
                on: function (data) {
                    if (data.isAdd) {
                        $parentId.val(data.arr[0].id);
                    }
                }
            });
        }
    }

    // 表单提交
    function submit(){
        form.on('submit(btn-submit)', function (data) {
            $.ajax({
                url: '/system/menu/update/',
                type: 'post',
                dataType: 'json',
                data: data.field,
                success: function (result) {
                    if (result.code === 0) {
                        layer.msg(result.msg, { icon: 1, time: 1000 }, function () {
                            parent.layer.close(parent.layer.getFrameIndex(window.name)); // 关闭当前页
                            parent.layui.table.reload("list");
                        });
                    } else {
                        parent.layer.msg('异常', { icon: 2 })
                    }
                }
            });

            return false;
        });
    }

    // 事件绑定
    function onFn(){
        util.on('lay-on', {
            // 关闭当前页
            'close': function () {
                window.parent.layer.close(parent.layer.getFrameIndex(window.name));
            }
        })
    }
});